home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il_c / ilHwConnection.z / ilHwConnection
Encoding:
Text File  |  2002-10-03  |  17.4 KB  |  397 lines

  1.  
  2.  
  3.  
  4. iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))  IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll  iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn - X server connection
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      This is a base class
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilCdefs.h>
  16.  
  17.  
  18. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.      ilHwConnection manages IL's private server connections, it is essentially
  20.      a cache of shadow connections (to avoid redundant Display's) and also
  21.      maintains a list of OpenGL contexts that have been created on each
  22.      connection.
  23.  
  24.      The ilHwConnection also provides information on each display's
  25.      capabilities (including whether or not OpenGL is supported and what
  26.      operations are really done in hardware).
  27.  
  28.      Provision is also made for creation and caching of X colormaps for use
  29.      with various visuals on each connection.
  30.  
  31. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  32.      GGGGeeeetttt////sssseeeetttt mmmmeeeetttthhhhooooddddssss
  33.  
  34.           Display* ilHwConnectionGetDisplay(ilHwConnection *obj)
  35.           void ilHwConnectionGetScreenSize(ilHwConnection *obj,
  36.                                            iflXYint* size)
  37.           int ilHwConnectionGetCapability(ilHwConnection *obj)
  38.           int ilHwConnectionHasCapability(ilHwConnection *obj, int cap)
  39.           int ilHwConnectionGetExtension(ilHwConnection *obj)
  40.           int ilHwConnectionHasExtension(ilHwConnection *obj, int ext)
  41.           int ilHwConnectionGetSupportedTypes(ilHwConnection *obj)
  42.           int ilHwConnectionGetSupportedOrders(ilHwConnection *obj)
  43.           int ilHwConnectionSupportsType(ilHwConnection *obj, iflDataType type)
  44.           int ilHwConnectionSupportsOrder(ilHwConnection *obj, iflOrder order)
  45.           int ilHwConnectionIsDirect(ilHwConnection *obj)
  46.           Colormap ilHwConnectionGetDefaultColormap(ilHwConnection *obj,
  47.                                                     VisualID id)
  48.           ilFrameBufferImg* ilHwConnectionGetDummyFbImg(ilHwConnection *obj)
  49.           int ilHwConnectionFindVisualByAttr(ilHwConnection *obj,
  50.                                              ilHwVisual* vis,
  51.                                              int attr, int minSize,
  52.                                              int maxSize)
  53.           int ilHwConnectionFindVisualByID(ilHwConnection *obj,
  54.                                            ilHwVisual* vis, VisualID visualid)
  55.           ilHwRenderer ilHwConnectionGetRenderer(ilHwConnection *obj)
  56.           int ilHwConnectionGetConvolveMaxWidth(ilHwConnection *obj)
  57.           int ilHwConnectionGetConvolveMaxHeight(ilHwConnection *obj)
  58.           int ilHwConnectionGetSepConvolveMaxWidth(ilHwConnection *obj)
  59.           int ilHwConnectionGetSepConvolveMaxHeight(ilHwConnection *obj)
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))  IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll  iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))
  71.  
  72.  
  73.  
  74.           int ilHwConnectionGetLutMaxSize(ilHwConnection *obj)
  75.           int ilHwConnectionGetFilter4Size(ilHwConnection *obj)
  76.           void ilHwConnectionSetRenderingStyle(ilHwConnection *obj,
  77.                                                ilRenderingStyle style)
  78.           ilRenderingStyle ilHwConnectionGetRenderingStyle(ilHwConnection *obj)
  79.  
  80.  
  81.  
  82. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  83.      ffffiiiinnnnddddVVVViiiissssuuuuaaaallllBBBByyyyAAAAttttttttrrrr(((())))
  84.  
  85.           int ilHwConnectionFindVisualByAttr(ilHwConnection *obj,
  86.                                              ilHwVisual* vis,
  87.                                              int attr, int minSize,
  88.                                              int maxSize)
  89.  
  90.  
  91.           This method fills in an ilHwVisual, _v_i_s, based on attributes
  92.           specified in _a_t_t_r (see the enumerated type ilHwVisualAttributes in
  93.           <il/ilHwConnection.h>), _m_i_n_S_i_z_e (minimum component size) and _m_a_x_S_i_z_e
  94.           (maximum component size).
  95.  
  96.           The double-buffer, stereo and rgb attributes are just suggestions,
  97.           not absolute requirments, if no visual is found with those
  98.           attributes a lesser visual will be returned. The remaining
  99.           attributes imply absolute requirements, no lesser visual will be
  100.           returned.  The visual class fields restrict which visual classes
  101.           will be considered, and are also absolute requirements.
  102.  
  103.      ffffiiiinnnnddddVVVViiiissssuuuuaaaallllBBBByyyyIIIIDDDD(((())))
  104.  
  105.           int ilHwConnectionFindVisualByID(ilHwConnection *obj,
  106.                                            ilHwVisual* vis, VisualID visualid)
  107.  
  108.  
  109.           This method fills in an ilHwVisual, _v_i_s, that matches the VisualID
  110.           indicated by _v_i_s_u_a_l_i_d.
  111.  
  112.      ggggeeeettttCCCCaaaappppaaaabbbbiiiilllliiiittttyyyy(((())))
  113.  
  114.           int ilHwConnectionGetCapability(ilHwConnection *obj)
  115.  
  116.  
  117.           This methods returns the rendering capabilities of this connection
  118.           as defined by ilHwCapability in <il/ilHwConnection.h>.
  119.  
  120.      ggggeeeettttCCCCoooonnnnvvvvoooollllvvvveeeeMMMMaaaaxxxxHHHHeeeeiiiigggghhhhtttt(((())))
  121.  
  122.           int ilHwConnectionGetConvolveMaxHeight(ilHwConnection *obj)
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))  IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll  iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))
  137.  
  138.  
  139.  
  140.           If the server supports the OpenGL convolution extension, then this
  141.           method returns the maximum height of a general convolution kernel.
  142.           Otherwise, the method returns zero.
  143.  
  144.      ggggeeeettttCCCCoooonnnnvvvvoooollllvvvveeeeMMMMaaaaxxxxWWWWiiiiddddtttthhhh(((())))
  145.  
  146.           int ilHwConnectionGetConvolveMaxWidth(ilHwConnection *obj)
  147.  
  148.  
  149.           If the server supports the OpenGL convolution extension, then this
  150.           method returns the maximum width of a general convolution kernel.
  151.           Otherwise, the method returns zero.
  152.  
  153.      ggggeeeettttDDDDeeeeffffaaaauuuullllttttCCCCoooolllloooorrrrmmmmaaaapppp(((())))
  154.  
  155.           Colormap ilHwConnectionGetDefaultColormap(ilHwConnection *obj,
  156.                                                     VisualID id)
  157.  
  158.  
  159.           This method returns a colormap suitable for use with the visual
  160.           indicated by _i_d.  The colormaps thus allocated are cached on this
  161.           connection.
  162.  
  163.      ggggeeeettttDDDDiiiissssppppllllaaaayyyy(((())))
  164.  
  165.           Display* ilHwConnectionGetDisplay(ilHwConnection *obj)
  166.  
  167.  
  168.           Returns the internal Display* for this connection;
  169.  
  170.      ggggeeeettttDDDDuuuummmmmmmmyyyyFFFFbbbbIIIImmmmgggg(((())))
  171.  
  172.           ilFrameBufferImg* ilHwConnectionGetDummyFbImg(ilHwConnection *obj)
  173.  
  174.  
  175.           The IL maintains a dummy window that is used to perform accelerated
  176.           statistics operations when no images are being displayed.  The
  177.           window is unmapped and zero-sized.  This method returns the
  178.           ilFrameBufferImg associated with this window.
  179.  
  180.      ggggeeeettttEEEExxxxtttteeeennnnssssiiiioooonnnn(((())))
  181.  
  182.           int ilHwConnectionGetExtension(ilHwConnection *obj)
  183.  
  184.  
  185.           Query the OpenGL extensions supported by this connection.  The
  186.           extensions are encoded in a bit mask.  The bits are defined in the
  187.           ilHwExtension enum in <il/ilHwConnection.h>.
  188.  
  189.      ggggeeeettttFFFFiiiilllltttteeeerrrr4444SSSSiiiizzzzeeee(((())))
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))  IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll  iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))
  203.  
  204.  
  205.  
  206.           int ilHwConnectionGetFilter4Size(ilHwConnection *obj)
  207.  
  208.  
  209.           This method returns the size of the bicubic resampling filter
  210.           expected by this connection.  (This value has meaning only if the
  211.           server supports the OpenGL "filter4" extension.)
  212.  
  213.      ggggeeeettttLLLLuuuuttttMMMMaaaaxxxxSSSSiiiizzzzeeee(((())))
  214.  
  215.           int ilHwConnectionGetLutMaxSize(ilHwConnection *obj)
  216.  
  217.  
  218.           This method returns the maximum size of a color table accepted by
  219.           this connection.
  220.  
  221.      ggggeeeettttRRRReeeennnnddddeeeerrrreeeerrrr(((())))
  222.  
  223.           ilHwRenderer ilHwConnectionGetRenderer(ilHwConnection *obj)
  224.  
  225.  
  226.           Returns the type of graphics device associated with this connection.
  227.           The result can be one of the following enums:
  228.  
  229.           enum ilHwRenderer {
  230.               ilHwRendIR,             // InfiniteReality
  231.               ilHwRendRE,             // RealityEngine
  232.               ilHwRendImpact,         // Impact
  233.               ilHwRendNewport,        // Newport Graphics (Indy/Indigo2)
  234.               ilHwRendIndigo,         // Indigo Entry, Indy[XL], XS, XZ, Elan, Extreme
  235.               ilHwRendCrime,          // O2
  236.               ilHwRendOther           // Unknown
  237.           };
  238.  
  239.  
  240.      ggggeeeettttRRRReeeennnnddddeeeerrrriiiinnnnggggSSSSttttyyyylllleeee(((())))
  241.  
  242.           ilRenderingStyle ilHwConnectionGetRenderingStyle(ilHwConnection *obj)
  243.  
  244.  
  245.           Returns the default rendering style of either _i_l_O_p_e_n_G_L_R_e_n_d_e_r_i_n_g
  246.           (default if OpenGL available) or _i_l_X_R_e_n_d_e_r_i_n_g for this connection.
  247.  
  248.      ggggeeeettttSSSSccccrrrreeeeeeeennnnSSSSiiiizzzzeeee(((())))
  249.  
  250.           void ilHwConnectionGetScreenSize(ilHwConnection *obj,
  251.                                            iflXYint* size)
  252.  
  253.  
  254.           Returns the screen resolution (in pixels).
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))  IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll  iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))
  269.  
  270.  
  271.  
  272.      ggggeeeettttSSSSeeeeppppCCCCoooonnnnvvvvoooollllvvvveeeeMMMMaaaaxxxxHHHHeeeeiiiigggghhhhtttt(((())))
  273.  
  274.           int ilHwConnectionGetSepConvolveMaxHeight(ilHwConnection *obj)
  275.  
  276.  
  277.           If the server supports the OpenGL convolution extension, then this
  278.           method returns the maximum height of a seperable convolution kernel.
  279.           Otherwise, the method returns zero.
  280.  
  281.      ggggeeeettttSSSSeeeeppppCCCCoooonnnnvvvvoooollllvvvveeeeMMMMaaaaxxxxWWWWiiiiddddtttthhhh(((())))
  282.  
  283.           int ilHwConnectionGetSepConvolveMaxWidth(ilHwConnection *obj)
  284.  
  285.  
  286.           If the server supports the OpenGL convolution extension, then this
  287.           method returns the maximum width of a seperable convolution kernel.
  288.           Otherwise, the method returns zero.
  289.  
  290.      ggggeeeettttSSSSuuuuppppppppoooorrrrtttteeeeddddOOOOrrrrddddeeeerrrrssss(((())))
  291.  
  292.           int ilHwConnectionGetSupportedOrders(ilHwConnection *obj)
  293.  
  294.  
  295.           This method returns a logical OR of the supported dimension orders
  296.           (as defined by iflOrder) that OpenGL transfers on this connection
  297.           can use.
  298.  
  299.      ggggeeeettttSSSSuuuuppppppppoooorrrrtttteeeeddddTTTTyyyyppppeeeessss(((())))
  300.  
  301.           int ilHwConnectionGetSupportedTypes(ilHwConnection *obj)
  302.  
  303.  
  304.           This method returns a logical OR of the supported data types (as
  305.           defined by iflDataType) that OpenGL transfers on this connection can
  306.           use.
  307.  
  308.      hhhhaaaassssCCCCaaaappppaaaabbbbiiiilllliiiittttyyyy(((())))
  309.  
  310.           int ilHwConnectionHasCapability(ilHwConnection *obj, int cap)
  311.  
  312.  
  313.           This methods tests for the presence of certain rendering
  314.           capabilities, specified by _c_a_p, on this connection.  The possible
  315.           values are defined by ilHwCapability in <il/ilHwConnection.h>.
  316.  
  317.      hhhhaaaassssEEEExxxxtttteeeennnnssssiiiioooonnnn(((())))
  318.  
  319.           int ilHwConnectionHasExtension(ilHwConnection *obj, int ext)
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))  IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll  iiiillllHHHHwwwwCCCCoooonnnnnnnneeeeccccttttiiiioooonnnn((((3333))))
  335.  
  336.  
  337.  
  338.           Queries the connection for a particular extension by testing the bit
  339.           fields returned by ggggeeeettttEEEExxxxtttteeeennnnssssiiiioooonnnn().  See ggggeeeettttEEEExxxxtttteeeennnnssssiiiioooonnnn().
  340.  
  341.      iiiissssDDDDiiiirrrreeeecccctttt(((())))
  342.  
  343.           int ilHwConnectionIsDirect(ilHwConnection *obj)
  344.  
  345.  
  346.           Returns TRUE if this connection supports direct OpenGL contexts.
  347.  
  348.      sssseeeettttRRRReeeennnnddddeeeerrrriiiinnnnggggSSSSttttyyyylllleeee(((())))
  349.  
  350.           void ilHwConnectionSetRenderingStyle(ilHwConnection *obj,
  351.                                                ilRenderingStyle style)
  352.  
  353.  
  354.           Sets the default rendering style to either _i_l_O_p_e_n_G_L_R_e_n_d_e_r_i_n_g or
  355.           _i_l_X_R_e_n_d_e_r_i_n_g for this connection.
  356.  
  357.      ssssuuuuppppppppoooorrrrttttssssOOOOrrrrddddeeeerrrr(((())))
  358.  
  359.           int ilHwConnectionSupportsOrder(ilHwConnection *obj, iflOrder order)
  360.  
  361.  
  362.           This method returns true if the specified dimension order, _o_r_d_e_r,
  363.           (as defined by iflOrder) is supported for OpenGL transfers on this
  364.           connection.
  365.  
  366.      ssssuuuuppppppppoooorrrrttttssssTTTTyyyyppppeeee(((())))
  367.  
  368.           int ilHwConnectionSupportsType(ilHwConnection *obj, iflDataType type)
  369.  
  370.  
  371.           This method returns true if the specified data type, _t_y_p_e, (as
  372.           defined by iflDataType) is supported for OpenGL transfers on this
  373.           connection.
  374.  
  375. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  376.      ilHwContext(3), ilHwVisual(3), <il/ilHwConnection.h>
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.